/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Mensajes;

/**
 *
 * @author Lino
 */
public class ValidadorEnvioHL7 {
   
  public static String codigoMsj(String HL7){
     try{
       
         int count=0;
         String salida="";
        
    
         
         for(int i=HL7.length()-1;i>0;i--){
         if (count==2){
                  salida+=HL7.charAt(i);
              }
          
          if(String.valueOf(HL7.charAt(i)).equals("|")){
              count++;
          }    
              
        }

String cadenaOriginal = salida.substring(0, salida.length()-1);
String cadenaInvertida = "";

for (int i = cadenaOriginal.length()-1; i >=0 ; i--) {
cadenaInvertida += cadenaOriginal.charAt(i);
}
        return cadenaInvertida.trim();  
     }catch(Exception e){
         
     }
    return null;   
}
    
public static boolean validarMsj(String tipo, String HL7){
 try{
     
        String codigo=codigoMsj(HL7);
        
     int codigoInt=Integer.parseInt(codigo);
     
     for (int i=1;i<11;i++){
         if(codigoInt==i & tipo.equals("ADT^A01")|tipo.equals("ADT^A03")|tipo.equals("ADT^A08")){
             return false;
         }
     }
     if(codigoInt==99)return false;
     
    if(tipo.equals("ADT^A28")|tipo.equals("ADT^A31")){
   
    if(codigoInt==1000)return false;
    if(codigoInt==1010)return false;
    if(codigoInt==1015)return false;
    if(codigoInt==1020)return false;
    if(codigoInt==2010)return false;
    if(codigoInt==2020)return false;
    if(codigoInt==3000)return false;
    if(codigoInt==3010)return false;
    if(codigoInt==3020)return false;
    if(codigoInt==4000)return false;
    if(codigoInt==5010)return false;
    if(codigoInt==5020)return false;
    if(codigoInt==5030)return false;
    if(codigoInt==6000)return false;
    if(codigoInt==7000)return false;
    if(codigoInt==7010)return false;
    if(codigoInt==7020)return false;
    if(codigoInt==7030)return false;
    if(codigoInt==7040)return false;
    if(codigoInt==8000)return false;
    if(codigoInt==9000)return false;

}
    return true;
    
 }   catch(Exception e){
     
 }    
  
        return false;
    }
   



   
  public static String textoMsjRespuesta(String HL7){
     try{
       
         int count=0;
         String salida="";
        
    
         
         for(int i=HL7.length()-1;i>0;i--){
         if (count==1){
                  salida+=HL7.charAt(i);
              }
          
          if(String.valueOf(HL7.charAt(i)).equals("|")){
              count++;
          }    
              
        }

String cadenaOriginal = salida.substring(0, salida.length()-1);
String cadenaInvertida = "";

for (int i = cadenaOriginal.length()-1; i >=0 ; i--) {
cadenaInvertida += cadenaOriginal.charAt(i);
}
        return cadenaInvertida;  
     }catch(Exception e){
         
     }
    return null;   
}








}
